package web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.bouncycastle.util.encoders.Base64;
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.userdetails.UserDetails;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import dao.CommentDAO;
import dao.FavouriteDAO;
import dao.FollowDAO;
import dao.RestaurantDAO;
import dao.RestaurantTagDAO;
import dao.UserDAO;
import dao.UserRestaurantOwnerDAO;
import enums.Cities;
import enums.Countries;
import enums.Tag;
import enums.TagAtrakcja;
import enums.TagPochodzenie;
import enums.TagSkladnik;
import enums.TagSmak;
import enums.TagTyp;
import enums.TagUsluga;
import validator.*;
import web.LoggedUser;
import beans.*;

public class HomeUserController extends MultiActionController {
	private UserDAO userDAO;

	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

	private LoggedUser loggedUser;

	public void setLoggedUser(LoggedUser loggedUser) {
		this.loggedUser = loggedUser;
	}

	private RestaurantDAO restaurantDAO;
	private RestaurantTagDAO restaurantTagDAO;

	public void setRestaurantTagDAO(RestaurantTagDAO restaurantTagDAO) {
		this.restaurantTagDAO = restaurantTagDAO;
	}

	public void setRestaurantDAO(RestaurantDAO restaurantDAO) {
		this.restaurantDAO = restaurantDAO;
	}
	private FavouriteDAO favouriteDAO;
	
	public void setFavouriteDAO(FavouriteDAO favouriteDAO) {
		this.favouriteDAO = favouriteDAO;
	}

	private UserRestaurantOwnerDAO userRestaurantOwnerDAO;
	private ChangePasswordValidator changePasswordValidator;
	private ChangeUserDataValidator changeUserDataValidator;

	public void setChangePasswordValidator(
			ChangePasswordValidator changePasswordValidator) {
		this.changePasswordValidator = changePasswordValidator;
	}

	public void setChangeUserDataValidator(
			ChangeUserDataValidator changeUserDataValidator) {
		this.changeUserDataValidator = changeUserDataValidator;
	}

	public void setUserRestaurantOwnerDAO(
			UserRestaurantOwnerDAO userRestaurantOwnerDAO) {
		this.userRestaurantOwnerDAO = userRestaurantOwnerDAO;
	}
	private FollowDAO followDAO;
	
	public void setFollowDAO(FollowDAO followDAO) {
		this.followDAO = followDAO;
	}
	private CommentDAO commentDAO;
	

	public void setCommentDAO(CommentDAO commentDAO) {
		this.commentDAO = commentDAO;
	}

	public ModelAndView mojekonto(HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		User user = loggedUser.getLoggedUser();
		ModelMap modelMap = new ModelMap();
		Restaurant restaurant = new Restaurant();
		Restaurant userRestaurant = new Restaurant();
		userRestaurant = restaurantDAO.findRestaurantByUser(user.getUsername());
		String logosource;
		if (userRestaurant.getName() != null) {
			logosource = "data:image/jpeg;base64,"
					+ (userRestaurant.getLogo()).toString();
		} else {
			logosource = "";
		}
		UserRestaurantOwner userRestaurantOwner = new UserRestaurantOwner();
		userRestaurantOwner = userRestaurantOwnerDAO
				.findUserRestaurantOwnerbyUsername(user.getUsername());
		boolean testUserOwner;
		if (userRestaurantOwner.getUsername() == null) {
			testUserOwner = false;
		} else {
			testUserOwner = true;
		}
		RestaurantTag setTagAtrakcja = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Atrakcja");
		RestaurantTag setTagPochodzenie = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Pochodzenie");
		RestaurantTag setTagSkladnik = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Skladnik");
		RestaurantTag setTagSmak = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Smak");
		RestaurantTag setTagTyp = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Typ");
		RestaurantTag setTagUsluga = restaurantTagDAO
				.getTagsByRestaurantAndType(userRestaurant, "Usluga");
		modelMap.addAttribute("user", user);
		modelMap.addAttribute("restaurant", restaurant);
		modelMap.addAttribute("userRestaurant", userRestaurant);
		modelMap.addAttribute("cities", Cities.values());
		modelMap.addAttribute("countries", Countries.values());
		modelMap.addAttribute("testUserOwner", testUserOwner);
		modelMap.addAttribute("logosource", logosource);
		modelMap.addAttribute("Atrakcja", TagAtrakcja.values());
		modelMap.addAttribute("setTagAtrakcja", setTagAtrakcja);
		modelMap.addAttribute("Pochodzenie", TagPochodzenie.values());
		modelMap.addAttribute("setTagPochodzenie", setTagPochodzenie);
		modelMap.addAttribute("Skladnik", TagSkladnik.values());
		modelMap.addAttribute("setTagSkladnik", setTagSkladnik);
		modelMap.addAttribute("Smak", TagSmak.values());
		modelMap.addAttribute("setTagSmak", setTagSmak);
		modelMap.addAttribute("Typ", TagTyp.values());
		modelMap.addAttribute("setTagTyp", setTagTyp);
		modelMap.addAttribute("Usluga", TagUsluga.values());
		modelMap.addAttribute("setTagUsluga", setTagUsluga);
		modelMap.addAttribute("favList", favouriteDAO.GetAllFavByUsername(user.getUsername()));
		modelMap.addAttribute("followedRestaurant", followDAO.findFollow(user));
		modelMap.addAttribute("commentList", commentDAO.GetAllUserComments(user));
		return new ModelAndView("mojekonto", modelMap);
	}

	public ModelAndView logout(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		return new ModelAndView("logout");
	}

	public ModelAndView changepassword(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		User user = loggedUser.getLoggedUser();
		String oldPassword = request.getParameter("oldPassword");
		String newPassword = request.getParameter("newPassword");
		String confirmPassword = request.getParameter("confirmPassword");
		oldPassword = userDAO.encodePassword(oldPassword);
		return changePasswordValidator.validate(user, oldPassword, newPassword,
				confirmPassword);
	}

	public ModelAndView changepreferences(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		User user = loggedUser.getLoggedUser();
		if (request.getParameter("showTelephone") == null) {
			user.setShow_my_telephone(false);
		} else {
			user.setShow_my_telephone(true);
		}
		if (request.getParameter("showName") == null) {
			user.setShow_my_name(false);
		} else {
			user.setShow_my_name(true);
		}
		if (request.getParameter("showAddress") == null) {
			user.setShow_my_address(false);
		} else {
			user.setShow_my_address(true);
		}
		userDAO.UpdateUser(user);
		return new ModelAndView("redirect:mojekonto.htm");
	}

	public ModelAndView changeatrakcja(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Atrakcja").getId());
		restaurantTag.setType("Atrakcja");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}
	
	public ModelAndView changepochodzenie(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Pochodzenie").getId());
		restaurantTag.setType("Pochodzenie");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}
	
	public ModelAndView changeskladnik(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Skladnik").getId());
		restaurantTag.setType("Skladnik");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}
	
	public ModelAndView changesmak(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Smak").getId());
		restaurantTag.setType("Smak");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}
	
	public ModelAndView changetyp(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Typ").getId());
		restaurantTag.setType("Typ");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}
	
	public ModelAndView changeusluga(HttpServletRequest request,
			HttpServletResponse response, RestaurantTag restaurantTag)
			throws Exception {
		Restaurant restaurant = restaurantDAO.findRestaurantByUser(loggedUser
				.getLoggedUser().getUsername());
		restaurantTag.setId(restaurantTagDAO.getTagsByRestaurantAndType(
				restaurant, "Usluga").getId());
		restaurantTag.setType("Usluga");
		restaurantTag.setRestaurant_id(restaurant.getId());
		restaurantTagDAO.updateRestaurantTag(restaurantTag);
		restaurantDAO.UpdateRestaurant(restaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}

	public ModelAndView changemobile(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		User user = loggedUser.getLoggedUser();
		if (request.getParameter("mobileEnabled") == null) {
			user.setMobile_enabled(false);
		} else {
			user.setMobile_enabled(true);
		}
		userDAO.UpdateUser(user);
		return new ModelAndView("redirect:mojekonto.htm");
	}

	public ModelAndView changeuserdata(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		User user = loggedUser.getLoggedUser();
		String name = request.getParameter("name");
		String email = request.getParameter("email");
		String telephone = request.getParameter("telephone");
		String street = request.getParameter("street");
		String city = request.getParameter("city");
		String country = request.getParameter("country");
		user.setName(name);
		user.setEmail(email);
		user.setTelephone(telephone);
		user.setStreet(street);
		user.setCity(city);
		user.setCountry(country);
		return changeUserDataValidator.validate(user);
	}

	public ModelAndView myrestaurantadd(HttpServletRequest request,
			HttpServletResponse response, Restaurant restaurant)
			throws Exception {
		User user = loggedUser.getLoggedUser();
		restaurant
				.setLogo("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AAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAEOEJJTQQCAAAAAAAKAAAAAAAAAAAAADhCSU0EMAAAAAAABQEBAQEBADhCSU0ELQAAAAAABgABAAAABThCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAAAYAAAAGAAAAAKAFUAbgB0AGkAdABsAGUAZAAtADEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAABgAAAAAFJnaHRsb25nAAAAYAAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAYAAAAABSZ2h0bG9uZwAAAGAAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAA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YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjIuMi1jMDYzIDUzLjM1MjYyNCwgMjAwOC8wNy8zMC0xODoxMjoxOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDExLTA1LTIyVDE1OjA5OjIzKzAyOjAwIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxMS0wNS0yMlQxNTowOToyMyswMjowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2OTRDNjBCNjc0ODRFMDExQjgzM0I4QjJCRkVGQTA5NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2ODRDNjBCNjc0ODRFMDExQjgzM0I4QjJCRkVGQTA5NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjY4NEM2MEI2NzQ4NEUwMTFCODMzQjhCMkJGRUZBMDk0IiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpYUmVzb2x1dGlvbj0iNzIwMDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtBODkyOUNGNENGRkVFRDQ0OTEyNUQ1QkU1NDMwRjgzRCIgZXhpZjpQaXhlbFhEaW1lbnNpb249Ijk2IiBleGlmOlBpeGVsWURpbWVuc2lvbj0iOTYiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDtBMDM2Mjg0RUU5QUY4MUJDREIxNjQ0OTVFNjdDOEQ1MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Njg0QzYwQjY3NDg0RTAxMUI4MzNCOEIyQkZFRkEwOTQiIHN0RXZ0OndoZW49IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Njk0QzYwQjY3NDg0RTAxMUI4MzNCOEIyQkZFRkEwOTQiIHN0RXZ0OndoZW49IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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");
		restaurant
				.setImage("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AAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAEOEJJTQQCAAAAAAAKAAAAAAAAAAAAADhCSU0EMAAAAAAABQEBAQEBADhCSU0ELQAAAAAABgABAAAABThCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAAAYAAAAGAAAAAKAFUAbgB0AGkAdABsAGUAZAAtADEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAABgAAAAAFJnaHRsb25nAAAAYAAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAYAAAAABSZ2h0bG9uZwAAAGAAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAA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YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjIuMi1jMDYzIDUzLjM1MjYyNCwgMjAwOC8wNy8zMC0xODoxMjoxOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDExLTA1LTIyVDE1OjA5OjIzKzAyOjAwIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxMS0wNS0yMlQxNTowOToyMyswMjowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2OTRDNjBCNjc0ODRFMDExQjgzM0I4QjJCRkVGQTA5NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2ODRDNjBCNjc0ODRFMDExQjgzM0I4QjJCRkVGQTA5NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjY4NEM2MEI2NzQ4NEUwMTFCODMzQjhCMkJGRUZBMDk0IiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpYUmVzb2x1dGlvbj0iNzIwMDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtBODkyOUNGNENGRkVFRDQ0OTEyNUQ1QkU1NDMwRjgzRCIgZXhpZjpQaXhlbFhEaW1lbnNpb249Ijk2IiBleGlmOlBpeGVsWURpbWVuc2lvbj0iOTYiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDtBMDM2Mjg0RUU5QUY4MUJDREIxNjQ0OTVFNjdDOEQ1MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Njg0QzYwQjY3NDg0RTAxMUI4MzNCOEIyQkZFRkEwOTQiIHN0RXZ0OndoZW49IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Njk0QzYwQjY3NDg0RTAxMUI4MzNCOEIyQkZFRkEwOTQiIHN0RXZ0OndoZW49IjIwMTEtMDUtMjJUMTU6MDk6MjMrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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");
		restaurantDAO.registerRestaurant(restaurant);
		UserRestaurantOwner userRestaurantOwner = new UserRestaurantOwner();
		userRestaurantOwner.setUsername(user.getUsername());
		userRestaurantOwner.setRestaurant_id(restaurant.getId());
		userRestaurantOwnerDAO.saveUserRestaurantOwner(userRestaurantOwner);
		for (Tag x : Tag.values()) {
			RestaurantTag restaurantTag = new RestaurantTag();
			restaurantTag.setRestaurant_id(restaurant.getId());
			restaurantTag.setTag("");
			restaurantTag.setType(x.toString());
			restaurantTagDAO.saveRestaurantTag(restaurantTag);
		}
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}

	public ModelAndView myrestaurantedit(HttpServletRequest request,
			HttpServletResponse response, Restaurant userRestaurant)
			throws Exception {
		User user = loggedUser.getLoggedUser();
		userRestaurant = restaurantDAO.findRestaurantByUser(user.getUsername());
		String restname = request.getParameter("restname");
		String reststreet = request.getParameter("reststreet");
		String resttelephone = request.getParameter("resttelephone");
		String restcity = request.getParameter("restcity");
		String restcountry = request.getParameter("restcountry");
		String restpostal_code = request.getParameter("restpostal_code");
		String restdescription = request.getParameter("restdescription");
		userRestaurant.setName(restname);
		userRestaurant.setStreet(reststreet);
		userRestaurant.setTelephone(resttelephone);
		userRestaurant.setCity(restcity);
		userRestaurant.setCountry(restcountry);
		userRestaurant.setPostal_code(restpostal_code);
		userRestaurant.setDescription(restdescription);
		restaurantDAO.UpdateRestaurant(userRestaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}

	public ModelAndView myrestaurantdelete(HttpServletRequest request,
			HttpServletResponse response, Restaurant userRestaurant)
			throws Exception {
		User user = loggedUser.getLoggedUser();
		userRestaurant = restaurantDAO.findRestaurantByUser(user.getUsername());
		restaurantDAO.deleteRestaurant(userRestaurant);
		return new ModelAndView("redirect:mojekonto.htm#box-three");
	}

}
